home *** CD-ROM | disk | FTP | other *** search
- *
- * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- *
- * トランプライブラリ
- *
- * by 電魔団\shoryu 1993
- * __tr_put_u?, __tr_put_d? を追加 by 電脳雑技団 1993/10
- *
- * (掲載に間に合わせるためにかなりきたない)
- *
- * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- *1999-11 スーパーバイザで使用するための変更
-
-
-
- .xdef __tr_put
- .xdef __tr_put_lh
- .xdef __tr_put_lq
- .xdef __tr_put_rh
- .xdef __tr_put_rq
-
- .xdef __tr_put_uh * 追加(93/10)
- .xdef __tr_put_uq * 追加(93/10)
- .xdef __tr_put_dh * 追加(93/10)
- .xdef __tr_put_dq * 追加(93/10)
-
- Copy16word .macro
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- .endm
-
- ofset16: .equ #1024-16*2
-
-
- Copy32word .macro
- Copy16word
- Copy16word
- .endm
-
- ofset32 .equ #1024-32*2
-
-
- Copy64word .macro
- Copy32word
- Copy32word
- .endm
-
- ofset64 .equ #1024-64*2
-
-
-
-
- *
- * _tr_put(source,dest)
- *
- * source : 表示するトランプデータの格納開始アドレス
- * dest : 表示を行う左上の点のVRAMアドレス
- *
- *
- __tr_put:
- movea.l 4(sp),a0 * source addr = a0(トランプバッファ)
- movea.l 8(sp),a1 * dest addr = a1(G-VRAM)
- moveq #127,d2
- bsr __tr_put_sub
- rts
-
-
- *
- * a0 にトランプバッファへのポインタ、
- * a1 にG-VRAMアドレス、
- * d2 に表示縦ライン数を入れて呼ぶ。
- *
- __tr_put_sub:
- * move.w sr,-(sp)
- * ori.w #$2000,sr
-
- ** movem.l a1,-(sp)
- movea.l a1,a2
- */ moveq.l #$81,d0 * B_SUPER ->SUPER
- */ movea.l #0,a1
- */ trap #15
- move.l d0,d1 * d1にSSP
- ** movem.l (sp)+,a1
- movea.l a2,a1
-
- move.l d2,d0
- @@:
- Copy64Word * 1ライン描写
- adda.l ofset64,a1
- tst d0
- dbeq d0,@B
-
- btst #0,d1
- bne @F
-
- */ moveq.l #$81,d0 * B_SUPER ->USER
- */ movea.l d1,a1
- */ trap #15
-
- * move.w (sp)+,sr
-
- @@:
- rts
-
-
-
- *
- * _tr_put_uh(source,dest)
- *
- * 上半分だけ表示
- *
- __tr_put_uh:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
- moveq #63,d2
- bsr __tr_put_sub
- rts
-
-
- *
- * _tr_put_uq(source,dest)
- *
- * 上4分の1だけ表示
- *
- __tr_put_uq:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
- moveq #31,d2
- bsr __tr_put_sub
- rts
-
-
- *
- * _tr_put_dh(source,dest)
- *
- * 下半分だけ表示
- *
- __tr_put_dh:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
- adda.l #(64*2)*(64),a0 * バッファ開始位置
- moveq #63,d2
- bsr __tr_put_sub
- rts
-
-
- *
- * _tr_put_dq(source,dest)
- *
- * 下4分の1だけ表示
- *
- __tr_put_dq:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
- adda.l #(64*2)*(64+32),a0
- moveq #31,d2
- bsr __tr_put_sub
- rts
-
-
-
-
- *
- * _tr_put_lh(source,dest)
- *
- * 左半分だけ表示の怠慢モード
- *
- __tr_put_lh:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
-
- movea.l a1,a2
- moveq.l #$81,d0
- movea.l #0,a1
- trap #15
- move.l d0,d1
- movea.l a2,a1
-
- move.l #127,d0
- @@:
- Copy32Word
- adda.l #32*2,a0
- adda.l ofset32,a1
- tst d0
- dbeq d0,@B
-
- btst #0,d1
- bne @F
- moveq.l #$81,d0
- movea.l a2,a1
- trap #15
- @@:
- rts
-
-
-
-
- *
- * _tr_put_lq(source,dest)
- *
- * 左1/4だけ表示の超怠慢モード
- *
- __tr_put_lq:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
-
- movea.l a1,a2
- moveq.l #$81,d0
- movea.l #0,a1
- trap #15
- move.l d0,d1
- movea.l a2,a1
-
- move.l #127,d0
- @@:
- Copy16Word
- adda.l #(64-16)*2,a0
- adda.l ofset16,a1
- tst d0
- dbeq d0,@B
-
- btst #0,d1
- bne @F
- moveq.l #$81,d0
- movea.l a2,a1
- trap #15
- @@:
- rts
-
-
-
- *
- * _tr_put_rh(source,dest)
- *
- * 右半分だけ表示の怠慢モード
- *
- __tr_put_rh:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
-
- movea.l a1,a2
- moveq.l #$81,d0
- movea.l #0,a1
- trap #15
- move.l d0,d1
- movea.l a2,a1
-
- move.l #127,d0
- @@:
- adda.l #32*2,a0
- Copy32Word
- adda.l ofset32,a1
- tst d0
- dbeq d0,@B
-
- btst #0,d1
- bne @F
- moveq.l #$81,d0
- movea.l a2,a1
- trap #15
- @@:
- rts
-
-
-
-
- *
- * _tr_put_rq(source,dest)
- *
- * 右1/4だけ表示の超怠慢モード
- *
- __tr_put_rq:
- movea.l 4(sp),a0
- movea.l 8(sp),a1
-
- movea.l a1,a2
- moveq.l #$81,d0
- movea.l #0,a1
- trap #15
- move.l d0,d1
- movea.l a2,a1
-
- move.l #127,d0
- @@:
- adda.l #(64-16)*2,a0
- Copy16Word
- adda.l ofset16,a1
- tst d0
- dbeq d0,@B
-
- btst #0,d1
- bne @F
- moveq.l #$81,d0
- movea.l a2,a1
- trap #15
- @@:
- rts
-
-
-
-
- * [ EOF ]
-
-